package com.lcj.bff.customer.feign;

import com.lcj.bff.customer.controller.form.*;
import com.lcj.common.util.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

@FeignClient(value = "aoch-odr")
public interface OdrServiceApi {

    @PostMapping("/comment/searchCommentByOrderId")
    public Result searchCommentByOrderId(SearchOrderForm form);

    @PostMapping("/order/searchOrderAndCommentByPage")
    public Result searchCustomerOrderByPage(SearchCustomerOrderByPageForm form);

    @PostMapping("/order/validCanPayOrder")
    public Result validCanPayOrder(ValidCanPayOrderForm form);

    @PostMapping("/bill/updateBillPayment")
    public Result updateBillPayment(UpdateBillPaymentForm form);

    @PostMapping("/order/updateOrderPrepayId")
    public Result updateOrderPrepayId(UpdateOrderPrepayIdForm form);

    @PostMapping("/order/searchOrderById")
    public Result searchOrderById(SearchOrderForm form);

    @PostMapping("/order/insertOrder")
    public Result insertOrder(InsertOrderForm form);

    @PostMapping("/order/searchOrderStatus")
    public Result searchOrderStatus(SearchOrderForm form);

    @PostMapping("/order/deleteUnAcceptOrder")
    public Result deleteUnAcceptOrder(SearchOrderForm form);

    /**
     * 查询乘客当前订单
     * @param form
     * @return
     */
    @PostMapping("/order/hasCustomerCurrentOrder")
    public Result hasCustomerCurrentOrder(CustomerIdForm form);

    /**
     * 查询订单信息用于司乘同显
     * @param form
     * @return
     */
    @PostMapping("/order/searchOrderForMoveById")
    public Result searchOrderForMoveById(SearchOrderForm form);

    /**
     * 乘客确认司机到达出发点
     * @param form
     * @return
     */
    @PostMapping("/order/confirmArriveStartPlace")
    public Result confirmArriveStartPlace(SearchOrderForm form);

    /**
     * 查询司机和乘客openId
     * @param orderForm
     * @return
     */
    @PostMapping("/bill/searchOpenId")
    Result searchOpenId(SearchOrderForm orderForm);

    /**
     * 新增订单评价
     * @param form
     * @return
     */
    @PostMapping("/comment/insertComment")
    public Result insertComment(InsertCommentForm form);
}